<?xml version="1.0"?>
<doc>
    <assembly>
        <name>SandcastleBuilder.MRefBuilder</name>
    </assembly>
    <members>
        <member name="T:SandcastleBuilder.Components.BindingRedirectSettings">
            <summary>
            This represents binding redirection settings for the
            <see cref="T:SandcastleBuilder.Components.BindingRedirectResolver"/>.
            </summary>
        </member>
        <member name="M:SandcastleBuilder.Components.BindingRedirectSettings.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:SandcastleBuilder.Components.BindingRedirectSettings.ToString">
            <summary>
            This returns a string representation of the item
            </summary>
            <returns>The item value as a string</returns>
        </member>
        <member name="M:SandcastleBuilder.Components.BindingRedirectSettings.IsRedirectFor(System.String)">
            <summary>
            This is used to determine whether or not this entry is a redirect
            for the given strong name
            </summary>
            <param name="strongName">The strong name to compare</param>
            <returns>True if it is a redirect for the strong name, false if not</returns>
        </member>
        <member name="M:SandcastleBuilder.Components.BindingRedirectSettings.FromXPathNavigator(System.Xml.XPath.XPathNavigator,System.Xml.IXmlNamespaceResolver,System.String)">
            <summary>
            Create a binding redirect settings instance from an XPath navigator
            containing the settings.
            </summary>
            <param name="navigator">The XPath navigator from which to
            obtain the settings.</param>
            <param name="resolver">An optional namespace resolver.  Pass null
            if one is not needed.</param>
            <param name="namespacePrefix">The namespace to prefix the elements
            with if needed.  This is ignored if <c>resolver</c> is null.</param>
            <returns>A <see cref="T:SandcastleBuilder.Components.BindingRedirectSettings"/> object containing
            the settings from the XPath navigator.</returns>
            <remarks>It should contain an element called <c>dependentAssembly</c>
            with a configFile attribute or a nested <c>assemblyIdentity</c> and
            <c>bindingRedirect</c> element that define the settings.</remarks>
        </member>
        <member name="M:SandcastleBuilder.Components.BindingRedirectSettings.FromConfigFile(System.String)">
            <summary>
            Load assembly binding redirects from a configuration file.
            </summary>
            <param name="configFile">The configuration filename</param>
            <returns>A collection containing the assembly binding redirects</returns>
        </member>
        <member name="P:SandcastleBuilder.Components.BindingRedirectSettings.AssemblyName">
            <summary>
            This is used to get or set the assembly name (no extension)
            </summary>
        </member>
        <member name="P:SandcastleBuilder.Components.BindingRedirectSettings.PublicKeyToken">
            <summary>
            This is used to get or set the public key token for the assembly
            </summary>
            <value>If omitted, "null" is assumed</value>
        </member>
        <member name="P:SandcastleBuilder.Components.BindingRedirectSettings.Culture">
            <summary>
            This is used to get or set the culture for the assembly
            </summary>
            <value>If omitted, "neutral" is assumed</value>
        </member>
        <member name="P:SandcastleBuilder.Components.BindingRedirectSettings.OldVersion">
            <summary>
            This is used to get or set the old version number to redirect to
            the new version number.
            </summary>
        </member>
        <member name="P:SandcastleBuilder.Components.BindingRedirectSettings.OldVersionTo">
            <summary>
            This is used to get or set the ending old version number range to
            redirect to the new version number.
            </summary>
            <value>If not set, only <see cref="P:SandcastleBuilder.Components.BindingRedirectSettings.OldVersion"/> will be used to
            redirect a single version.</value>
        </member>
        <member name="P:SandcastleBuilder.Components.BindingRedirectSettings.NewVersion">
            <summary>
            This is used to get or set the new version number to which the old
            versions are redirected.
            </summary>
        </member>
        <member name="P:SandcastleBuilder.Components.BindingRedirectSettings.ConfigurationFile">
            <summary>
            This is used to get or set the path to the configuration file from
            which the settings should be imported.
            </summary>
            <value>If specified, the properties in the Binding Redirect
            category are ignored.</value>
        </member>
        <member name="P:SandcastleBuilder.Components.BindingRedirectSettings.StrongName">
            <summary>
            This returns the strong name for the redirect assembly
            </summary>
        </member>
        <member name="T:SandcastleBuilder.Components.BindingRedirectResolver">
             <summary>
             This is a custom assembly resolver for Sandcastle's <b>MRefBuilder</b>
             tool that supports assembly binding redirect elements in its
             configuration that let you redirect an unknown assembly's strong name
             to another by version number when resolving an unknown reference.
             </summary>
             <remarks>This solves the problem reported in Sandcastle work item
             <see href="http://Sandcastle.CodePlex.com/WorkItem/View.aspx?WorkItemId=1014">#1014</see>.
             To use the resolver, it must be added to the <b>MRefBuilder.config</b>
             file by defining the <c>resolver</c> element as shown in the example
             below.  Within the <c>resolver</c> element, add an <c>assemblyBinding</c>
             element that contains one or more <c>dependentAssembly</c> elements that
             define the redirections.  If you have a set of redirections in an
             application or web configuration file, you can define a
             <c>dependentAssembly</c> element with an <c>importFrom</c> attribute
             that specifies the location of the configuration file from which to
             import the redirects.  The other option is to specify individual
             redirects using the <c>assemblyIdentity</c> and <c>bindingRedirect</c>
             child elements of each <c>dependentAssembly</c> element.  See the MSDN
             help for those elements for more information on their usage.
            
             <note type="important">The assembly version(s) to which the entries are
             redirected must be one of the documented assemblies or must be
             referenced as a dependency using the <b>/dep</b> command line
             switch.</note></remarks>
             <example>
             <code lang="xml" title="Sample MRefBuilder.config">
             <![CDATA[
             <configuration>
               <dduetools>
                 <platform version="2.0"
                   path="%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\" />
            
                 <!-- Replace the resolver element with this.  Update the path
                      to point to the location of the assembly on your system. -->
                 <resolver type="SandcastleBuilder.Components.BindingRedirectResolver"
                     assembly="C:\SandcastleBuilder\SandcastleBuilder.MRefBuilder.dll"
                     use-gac="false">
            
                   <!-- Add an assemblyBinding element to contain the redirects -->
                   <assemblyBinding>
                     <!-- Import bindings from an application or web config file -->
                     <dependentAssembly importFrom=".\Web.config" />
            
                     <!-- Define a redirect for a range of versions -->
                     <dependentAssembly>
                       <assemblyIdentity name="NationalInstruments.Common"
                           publicKeyToken="4544464cdeaab541" />
                       <bindingRedirect oldVersion="1.0.0.0-8.1.20.168"
                           newVersion="8.1.20.237" />
                     </dependentAssembly>
            
                     <!-- Define a redirect for a single version -->
                     <dependentAssembly>
                       <assemblyIdentity name="MyCompany.Util.ComponentFactory"
                           publicKeyToken="E1458197622051B1" culture="neutral"/>
                       <bindingRedirect oldVersion="1.2.3.4"
                           newVersion="2.1.4.3"/>
                     </dependentAssembly>
            
                   </assemblyBinding>
                 </resolver>
            
                 <!-- ... rest of MRefBuilder.config ... -->
            
               </dduetools>
             </configuration>]]>
             </code>
             </example>
        </member>
        <member name="M:SandcastleBuilder.Components.BindingRedirectResolver.#ctor(System.Xml.XPath.XPathNavigator)">
            <summary>
            Constructor
            </summary>
            <param name="configuration">The configuration navigator</param>
        </member>
        <member name="M:SandcastleBuilder.Components.BindingRedirectResolver.ResolveReference(System.Compiler.AssemblyReference,System.Compiler.Module)">
            <summary>
            This is overridden to resolve unknown assembly references
            </summary>
            <param name="reference">The reference to resolve</param>
            <param name="module">The module</param>
            <returns>The assembly node if resolved or null if not resolved</returns>
        </member>
    </members>
</doc>
